home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / xarchie-2.0.9 / Makefile.dst < prev    next >
Makefile  |  1995-06-18  |  7KB  |  203 lines

  1. #
  2. # Default Makefile for xarchie : X11 Browser interface to Archie
  3. #
  4. # George Ferguson, ferguson@cs.rochester.edu, 23 Apr 1993.
  5. #
  6. # This Makefile is for use if you don't have imake/xmkmf. I don't
  7. # expect it to be very helpful, since you'll have to know something
  8. # about your X setup to use it. But here it is anyway. See the file
  9. # INSTALL for instructions.
  10. #
  11.  
  12. # Some useful definitions, adjust as needed:
  13. CC = cc
  14. RM = rm -f
  15. INSTALL = install -c
  16. INSTPGMFLAGS = -m 755
  17. INSTAPPFLAGS = -m 644
  18. INSTMANFLAGS = -m 644
  19.  
  20. # X-specific definitions:
  21. XINCS = -I/usr/staff/include
  22. XLIBS = -L/usr/staff/lib -lXaw -lXmu -lXt -lXext -lX11
  23. XAPPLOADDIR = /usr/staff/lib/X11/app-defaults
  24.  
  25. # Where do you want this stuff? Uncomment and adjust these to change the
  26. # destinations of "make install" and "make install.man".
  27. BINDIR = /usr/staff/bin
  28. LIBDIR = /usr/staff/lib
  29. MANDIR = /usr/staff/man/man1
  30. MANSUFFIX = 1
  31.  
  32. # Where is the app-defaults to C converter?
  33. # Only needed if you change the app-defaults file Xarchie.ad and want the
  34. # changes compiled into the program. If you don't have ad2c you should
  35. # remove the extra clean target for Xarchie.ad.h below. If you lose
  36. # Xarchie.ad.h and can't remake it, create it to be an empty file. Of course
  37. # then you'll have to be able to find the resource file at run time.
  38. # If your ad2c came from this xarchie distribution, then use the following
  39. # target, otherwise change it to reflect where you put ad2c.
  40. AD2C = Ad2c/ad2c.script
  41.  
  42. # How excited are you about debugging? This can be -g, -O, or nothing.
  43. CDEBUGFLAGS = -g
  44.  
  45. # If the help strings make your executable too large, disable the
  46. # online help by commenting out the following lines.
  47. HELP = -DHELP
  48. HELPC = help.c
  49. HELPO = help.o
  50.  
  51. # To enable Prospero tracing (controlled by the -debug option), uncomment this
  52. #PDEBUG = -DDEBUG
  53.  
  54. # Does your system have re_comp() and re_exec(), or regcmp() and regex()
  55. # [in the case of A/UX]? If not, uncomment the following definitions.
  56. # -> See HAVE_RE_COMP and HAVE_REGCMP in config.h.
  57. #REGEXC = regex.c
  58. #REGEXO = regex.o
  59.  
  60. # If you don't have <sys/param.h> to define MAXPATHLEN, then uncomment
  61. # and adjust the following definition.
  62. # -> See HAVE_SYS_PARAM_H in config.h.
  63. #MAXPATHLEN = -DMAXPATHLEN=256
  64.  
  65. # If you don't have strcasecmp() and strncasecmp(), uncomment the
  66. # following definitions:
  67. # -> See HAVE_STRCASECMP in config.h
  68. #STRCASECMP = -DSTRCASECMP
  69. #STRCASECMPC = strcasecmp.c
  70. #STRCASECMPO = strcasecmp.o
  71.  
  72. # If your system does not use DNS hostname lookup by default, you
  73. # need to uncomment the following definition. This will be apparent
  74. # if the program builds but gives the error: "Can't resolve hostname".
  75. # You can test this by building and running resolv.c.
  76. # -> See NEED_LRESOLV in config.h.
  77. #RESOLV_LIB = -lresolv
  78.  
  79. # You can enable the use of a FileChooser widget for dialogs that
  80. # require a filename (Save, Load, Write, etc). If your system has
  81. # trouble with the subclassing of widgets for the FileChooser
  82. # class or with the device-independent directory routines in FWF/Dir,
  83. # you should comment out these definitions.
  84. # Note: You will also have to delete or comment out the targets for
  85. #       $(FCHOOSER_DEP), etc., below, marked with a comment to that effect.
  86. FCHOOSER_DEF = -DFILECHOOSER
  87. FCHOOSER_DIR = FWF/FileChooser
  88. FCHOOSER_INC = -I$(FCHOOSER_DIR)
  89. FCHOOSER_LIB = -L$(FCHOOSER_DIR) -lFChooser
  90. FCHOOSER_DEP = $(FCHOOSER_DIR)/libFChooser.a
  91. DIR_DIR =     FWF/Dir
  92. DIR_INC =     -I$(DIR_DIR)
  93. DIR_LIB =     -L$(DIR_DIR) -lDir
  94. DIR_DEP =     $(DIR_DIR)/libDir.a
  95. FCHOOSER_DIRS = $(FCHOOSER_DIR) $(DIR_DIR)
  96. FCHOOSER_INCS = $(FCHOOSER_INC) $(DIR_INC)
  97. FCHOOSER_LIBS = $(FCHOOSER_LIB) $(DIR_LIB)
  98. FCHOOSER_DEPS = $(FCHOOSER_DEP) $(DIR_DEP)
  99.  
  100. # You want to use the MultiList widget if possible. If you have problems
  101. # with the subclassing in your version of X, you can use the regular
  102. # Athena List widget by commenting out these definitions. Of course then
  103. # you will not be able to make multiple selections.
  104. # Note: You will also have to delete or comment out the target for
  105. #       $(MULTILIST_DEP), below, marked with a comment to that effect.
  106. MULTILIST_DEF =    -DMULTILIST
  107. MULTILIST_DIR =    FWF/MultiList
  108. MULTILIST_INC =    -I$(MULTILIST_DIR)
  109. MULTILIST_LIB =    -L$(MULTILIST_DIR) -lMultiList
  110. MULTILIST_DEP =    $(MULTILIST_DIR)/libMultiList.a
  111.  
  112. ##############################################################################
  113. # Nothing to change below here...
  114.  
  115. POBJS = atalloc.o dirsend.o get_pauth.o get_vdir.o perrmesg.o ptalloc.o \
  116.     $(REGEXO) stcopy.o support.o vl_comp.o vlalloc.o
  117. COBJS = query.o browser.o db.o selection.o status.o saveload.o \
  118.     inet_ntoa.o hostname.o username.o \
  119.     weight.o ftp.o syserr.o $(STRCASECMPO)
  120. XOBJS = xarchie.o display-x.o actions.o ftp-actions.o types.o \
  121.     settings.o file-panel.o view-file.o about.o $(HELPO) \
  122.     menu.o m-file.o m-query.o m-settings.o m-file-panel.o \
  123.     fchooser.o popups.o alert.o confirm.o syntax.o xutil.o tilde.o
  124.  
  125. OBJS = $(POBJS) $(COBJS) $(XOBJS)
  126.  
  127. DEFINES = -DARCHIE -DXARCHIE -DX11 $(MAXPATHLEN) $(STRCASECMP) \
  128.       $(HELP) $(FCHOOSER_DEF) $(MULTILIST_DEF)
  129. INCLUDES= -I. $(FCHOOSER_INCS) $(MULTILIST_INC)
  130. LIBS =      $(FCHOOSER_LIBS) $(MULTILIST_LIB) $(XLIBS) $(RESOLV_LIB)
  131.  
  132. CFLAGS = $(CDEBUGFLAGS) $(DEFINES) $(INCLUDES) $(XINCS)
  133.  
  134. all: xarchie
  135.  
  136. xarchie: $(OBJS) $(FCHOOSER_DEPS) $(MULTILIST_DEP)
  137.     $(RM) $@
  138.     $(CC) -o $@ $(OBJS) $(LIBS)
  139.  
  140. install: xarchie
  141.     $(INSTALL) $(INSTPGMFLAGS) xarchie $(BINDIR)/xarchie
  142.     $(INSTALL) $(INSTAPPFLAGS) Xarchie.ad $(XAPPLOADDIR)/Xarchie
  143.  
  144. install.man:
  145.     $(INSTALL) $(INSTMANFLAGS) xarchie.man $(MANDIR)/xarchie.$(MANSUFFIX)
  146.  
  147. clean::
  148.     $(RM) xarchie
  149.     $(RM) $(OBJS)
  150.  
  151. $(POBJS):
  152.     $(CC) -c $(CFLAGS) $(PDEBUG) $*.c
  153.  
  154. MAKECMD = $(MAKE) 'CC=$(CC)' 'CDEBUGFLAGS=$(CDEBUGFLAGS)' 'XINCS=$(XINCS)'
  155.     
  156. # Remove this if you're not using MultiList (see above)
  157. $(MULTILIST_DEP):
  158.     (cd $(MULTILIST_DIR); $(MAKECMD))
  159.  
  160. clean::
  161.     cd $(MULTILIST_DIR); $(MAKE) clean
  162.  
  163. # Remove these if you're not using FileChooser (see above)
  164. $(FCHOOSER_DEP):
  165.     (cd $(FCHOOSER_DIR); $(MAKECMD) 'INCLUDES=-I. -I../Dir')
  166.  
  167. clean::
  168.     cd $(FCHOOSER_DIR); $(MAKE) clean
  169.  
  170. $(DIR_DEP):
  171.     (cd $(DIR_DIR); $(MAKECMD))
  172.  
  173. clean::
  174.     cd $(DIR_DIR); $(MAKE) clean
  175.  
  176. #
  177. # Make C code for fallback resources from application resource file
  178. #
  179. Xarchie.ad.h: Xarchie.ad
  180.     $(AD2C) Xarchie.ad >Xarchie.ad.h
  181.  
  182. #
  183. # Make Help text from manpage
  184. #
  185. help-text1.h: xarchie.man
  186.     help-text1.sh >help-text1.h
  187.  
  188. help-text2.h: help-text1.h
  189.     help-text2.sh <help-text1.h >help-text2.h
  190.  
  191. #
  192. # Install the "fallback" Makefiles in all the subdirs
  193. #
  194. Makefiles:
  195.     @for d in $(MULTILIST_DIR) $(FCHOOSER_DIR) $(DIR_DIR); do \
  196.        if test -f $$d/Makefile; then \
  197.          echo "mv $$d/Makefile $$d/Makefile.bak"; \
  198.          mv $$d/Makefile $$d/Makefile.bak; \
  199.        fi; \
  200.        echo "cp $$d/Makefile.dst $$d/Makefile"; \
  201.        cp $$d/Makefile.dst $$d/Makefile; \
  202.          done
  203.